/**
 * 优惠券销售管理-销售信息列表查询
 */
var queryCouponSaleSearch = function() {
	var querycouponSaleFieldSet = new Ext.form.FieldSet({
				id : 'querycouponSaleFieldSet',
				title : '查询条件',
				collapsible : true,// 可折叠
				buttonAlign : 'center',
				keys : [{
							key : 13, // 13代表回车
							fn : queryCouponSale,
							scope : this
						}],
				items : [{
					layout : 'column',
					border : false,
					items : [{
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
											xtype : 'dataDictionaryCmb',
											anchor : '100%',
											fieldLabel : "优惠券类型",
											id : 'couponManager_Type',
											editable : false,
											autoLoad : false,
											existall : true,
											defaultFirstRow : 1,
											hiddenName : 'couponType',
											dictionaryType : PmsUtil.coupon_type_slip
										}]
							}, {
								columnWidth : .25,
								layout : 'form',
								border : false,
								items : [{
									layout : 'column',
									border : false,
									items : [{
												text : '查询',
												xtype : 'button',
												width : 80,
												handler : function() {
													queryCouponSale();
												},
												style : {
													marginLeft : "100px",
													marginRight : "10px"
												}
											}, {
												text : '重置',
												xtype : 'button',
												width : 80,
												handler : function() {
													queryCouponSaleForm
															.getForm().reset();
												}
											}]
								}]
							}]
				}]
			});
	fieldSetListeners(['querycouponSaleFieldSet', 'queryCouponSaleForm',
					'couponSaleSlipManagerGrid'], [0.12, 0.88]);

	var queryCouponSaleForm = new Ext.form.FormPanel({
				id : 'queryCouponSaleForm',
				anchor : '100% 12%',
				frame : true,
				labelAlign : 'right',
				bodyBorder : false,
				items : [querycouponSaleFieldSet]
			});
	return queryCouponSaleForm;
};

/**
 * grids
 */

var couponSaleSlipManagerGrid = function() {
	// 定义表的每列（对应表头信息）
	var couponSaleSlipManagerCm = new Ext.grid.ColumnModel([
			new Ext.grid.RowNumberer(), {
				dataIndex : "id",
				header : "销售编号",
				sortable : true,
				width : 80
			}, {
				dataIndex : "couponType",
				header : "优惠券类型",
				sortable : true,
				width : 80,
				renderer : function(value) {
					return PmsUtil.CouponTypeSlip(value);
				}
			}, {
				dataIndex : "couponMarketPrice",
				header : "优惠券市场价",
				sortable : true,
				width : 100
			}, {
				dataIndex : "couponNumber",
				header : "优惠券销售数",
				sortable : true,
				width : 100
			}, {
				dataIndex : "salesAmount",
				header : "实际收入",
				sortable : true,
				width : 80
			}, {
				dataIndex : "remark",
				header : "备注",
				sortable : true,
				width : 120,
				renderer : function(value, meta, record) {
					if (value) {
						meta.attr = 'ext:qtitle="备注:" ext:qtip="' + value + '"';
						return value;
					}
				}
			}, {
				dataIndex : "createdDate",
				header : "创建时间",
				sortable : true,
				width : 130
			}, {
				dataIndex : "createdName",
				header : "创建人",
				sortable : true,
				width : 90
			}, {
				header : "管理",
				width : 150,
				dataIndex : "id",
				sortable : false,
				renderer : function(j, i, g, m, h) {
					var couponSaleId = g.data.id;
					var k = "";
					if (isGranted("couponSaleSlipManager_修改")) {
						k += '&nbsp;&nbsp;<a href="#" onclick="updateCouponSale('
								+ couponSaleId + ')\" >修改</a>';
					}
					if (isGranted("couponSaleSlipManager_删除")) {
						k += '&nbsp;&nbsp;<a href="#" onclick="delCouponSale('
								+ couponSaleId + ')\" >删除</a>';
					}
					return k;
				}
			}]);

	// 定义分析器
	var couponSaleSlipManagerGrid = new Ext.data.JsonReader({
				totalProperty : "totalCount",
				root : "list",
				fields : [{
							name : "id"
						}, {
							name : "couponType"
						}, {
							name : "couponMarketPrice"
						}, {
							name : "couponNumber"
						}, {
							name : "salesAmount"
						}, {
							name : "remark"
						}, {
							name : "createdDate"
						}, {
							name : "createdName"
						}]
			});

	// 取数据store
	var couponSaleViewStore = new Ext.data.Store({
				autoLoad : true,// 要加载数据必须设置为true
				proxy : new Ext.data.HttpProxy({
							url : __ctxPath + "/couponManager/selectCouponSale"
						}),
				remoteSort : false,
				baseParams : {
					start : 0,
					limit : 25
				},
				listeners : {
					beforeload : {
						fn : function(thiz, options) {
							Ext.apply(thiz.baseParams, Ext
											.getCmp('queryCouponSaleForm')
											.getForm().getValues());
						}
					}
				},
				reader : couponSaleSlipManagerGrid
			});

	// 定义grid的toolbar
	var couponSaleTb = new Ext.Toolbar({
				id : "couponSaleTb",
				height : 28,
				items : []
			});
	couponSaleTb.add(new Ext.scm.Button({
				text : "销售信息添加",
				width : 100,
				iconCls : "btn-add",
				pressed : true,
				hsValue : 'couponSaleSlipManager_新建销售信息',
				listeners : {
					"click" : function() {
						addCouponSale();
					}
				}
			}));
	couponSaleTb.add(new Ext.Toolbar.Spacer());
	couponSaleTb.add(new Ext.scm.Button({
				text : "刷 新",
				iconCls : "btn-refresh",
				width : 80,
				pressed : true,
				hsValue : 'couponSaleSlipManager_刷新',
				handler : function() {
					queryCouponSale();
				}
			}));

	var couponSaleSlipManagerGrid = new Ext.grid.GridPanel({
				id : 'couponSaleSlipManagerGrid',
				store : couponSaleViewStore,
				cm : couponSaleSlipManagerCm,
				autoScroll : true,
				loadMask : true,
				stripeRows : true,
				columnLines : true,
				loadMask : {
					msg : "正在加载数据，请稍侯……"
				},
				viewConfig : {
					emptyText : '没有您想要的数据!',
					forceFit : true,
					scrollOffset : 0
				},
				anchor : '100% 88%',
				frame : true,
				tbar : couponSaleTb,
				bbar : new PG.PagingBar({
							id : 'couponSaleGridPage',
							store : couponSaleViewStore
						})
			});
	return couponSaleSlipManagerGrid;
};

// 查询
function queryCouponSale() {
	PmsUtil.StringTrim("couponManager_Type");
	var grid = Ext.getCmp("couponSaleSlipManagerGrid");
	var form = Ext.getCmp("queryCouponSaleForm");
	if (form.getForm().isValid()) {
		var gridStore = grid.getStore();
		gridStore.baseParams = Ext.apply(gridStore.baseParams, form.getForm()
						.getValues());
		gridStore.load();
	}
}

/**
 * 新建销售信息
 */
function addCouponSale() {
	try {
		addOrUpdCouponSale(null, "销售信息添加").show();
	} catch (Error) {
		Ext.Loader.load([__ctxPath + '/js/coupon/couponSaleSlipForm.js'],
				function() {
					addOrUpdCouponSale(null, "销售信息添加").show();
				});
	}
}
/**
 * 修改销售信息
 * 
 * @param {}
 *            couponId
 */
function updateCouponSale(couponId) {
	try {
		addOrUpdCouponSale(couponId, "修改销售信息").show();
	} catch (Error) {
		Ext.Loader.load([__ctxPath + '/js/coupon/couponSaleSlipForm.js'],
				function() {
					addOrUpdCouponSale(couponId, "修改销售信息").show();
				});
	}

}

/**
 * 删除主题商品
 * 
 * @param {}
 *            couponSaleId
 */
function delCouponSale(couponSaleId) {
	Ext.Msg.confirm("提示", "确定删除吗？", function(c) {
		if (c == 'yes') {
			Ext.Ajax.request({
						url : __ctxPath + '/couponManager/deleteCouponSaleById',
						params : {
							couponSaleId : couponSaleId
						},
						success : function(option) {
							var s = Ext.util.JSON.decode(option.responseText);
							if (s.success) {
								Ext.MessageBox.show({
											title : '提示',
											msg : '删除成功!',
											buttons : Ext.MessageBox.OK,
											icon : Ext.MessageBox.INFO
										});
								Ext.getCmp("couponSaleSlipManagerGrid")
										.getStore().load();
							} else {
								Ext.MessageBox.show({
											title : '提示',
											msg : '删除失败!',
											buttons : Ext.MessageBox.OK,
											icon : Ext.MessageBox.WARNING
										});
							}
						},
						failure : function() {
							Ext.MessageBox.show({
										title : '提示',
										msg : '服务器响应超时!',
										buttons : Ext.MessageBox.OK,
										icon : Ext.MessageBox.WARNING
									});
						}
					})
		}

	})
}
Ext.getCmp("centerTabPanel").getActiveTab().add(queryCouponSaleSearch(),
		couponSaleSlipManagerGrid());
Ext.getCmp("centerTabPanel").getActiveTab().doLayout();
